// [[ OnflowGenerator File UUID: c62393116e7c43dcbc64b98931be7104  ]]
package com.itdct.onflow.system.api.mapper;

import com.itdct.onflow.core.mapper.BaseMapper;
import com.itdct.onflow.core.vo.KeyLabelValueVo;
import com.itdct.onflow.system.api.entity.SysApiEntity;
import com.itdct.onflow.system.api.qo.SysApiSearchQo;
import com.itdct.onflow.system.api.vo.SysApiDetailVo;
import com.itdct.onflow.system.api.vo.SysApiListVo;

import org.apache.ibatis.annotations.Mapper;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.util.HashSet;
import java.util.List;

/**
 * @author DCTANT
 * @date 2025-09-01 15:08:45
 * @version 1.0
 * @description 系统接口查询工具
 */
@Mapper
public interface SysApiMapper extends BaseMapper<SysApiEntity> {
    @Nullable
    SysApiDetailVo findById(Long id);

    @NotNull
    List<SysApiListVo> findByList(SysApiSearchQo qo);

    // [[ OnflowGenerator Range (- selectFunctions -) Start ]]
    @NotNull
    List<KeyLabelValueVo> selectNameList(SysApiSearchQo qo);

    @NotNull
    List<KeyLabelValueVo> selectUrlList(SysApiSearchQo qo);

// [[ OnflowGenerator Range (- selectFunctions -) End ]]

    @NotNull HashSet<SysApiEntity> findRoleApis(long roleId);

}
